Information processing apparatus and non-transitory computer readable medium storing information processing program

ABSTRACT

An information processing apparatus includes a processor configured to: acquire, by using setting information for extraction of texts from an image, an extraction result by extracting texts from a target image obtained by reading a document, or an output result to be output to an outside based on the extraction result; display the extraction result or the output result together with a first screen configured to receive an instruction to change the setting information; and in response to reception of the instruction, display a second screen configured to accept a change of the setting information related to the target image.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based on and claims priority under 35 USC 119 fromJapanese Patent Application No. 2020-214208 filed Dec. 23, 2020.

BACKGROUND (i) Technical Field

The present disclosure relates to an information processing apparatusand a non-transitory computer readable medium storing an informationprocessing program.

(ii) Related Art

Japanese Unexamined Patent Application Publication No. 10-334182discloses a technology relating to a reading position informationcorrection system that outputs reading position information for use incharacter reading to an optical character reader that reads andrecognizes characters on a form, and corrects the reading positioninformation based on a character reading/recognition result from theoptical character reader. The system includes a display that displaysimage data of the form, a corrector that corrects the reading positioninformation based on an external input, and a display controller thatcauses a display screen of the display to display a characterreading/recognition result from the optical character reader that hasread and recognized characters based on the corrected reading positioninformation.

SUMMARY

Aspects of non-limiting embodiments of the present disclosure relate toa case where texts are extracted from an image by optical characterrecognition (OCR) and output to the outside. There is provided a servicein which texts are extracted from an image obtained by reading eachdocument based on information preset for the document (hereinafterreferred to as “setting information”) and output to the outside. Thisservice includes a step of setting the setting information forextracting texts from an image of each document and outputting theextracted texts to the outside. In an operation step, texts areextracted from a target image (image of written form) and output to theoutside by using the setting information.

If texts are not appropriately extracted from the target image or outputin the operation step due to inadequacy in the setting information, theoperation step is suspended and the setting information is changed bydisplaying a screen for the setting step separately from the screen forthe operation step.

Aspects of non-limiting embodiments of the present disclosure thereforerelate to an information processing apparatus and a non-transitorycomputer readable medium storing an information processing program,which are capable of changing the setting information without displayingthe screen for the setting step separately from the screen for theoperation step in the event of inadequacy in the result of textextraction or output in the operation step for the target image.

Aspects of certain non-limiting embodiments of the present disclosureaddress the above advantages and/or other advantages not describedabove. However, aspects of the non-limiting embodiments are not requiredto address the advantages described above, and aspects of thenon-limiting embodiments of the present disclosure may not addressadvantages described above.

According to an aspect of the present disclosure, there is provided aninformation processing apparatus comprising a processor configured to:acquire, by using setting information for extraction of texts from animage, an extraction result by extracting texts from a target imageobtained by reading a document, or an output result to be output to anoutside based on the extraction result; display the extraction result orthe output result together with a first screen configured to receive aninstruction to change the setting information; and in response toreception of the instruction, display a second screen configured toaccept a change of the setting information related to the target image.

BRIEF DESCRIPTION OF THE DRAWINGS

An exemplary embodiment of the present disclosure will be described indetail based on the following figures, wherein:

FIG. 1 is a block diagram illustrating an example of the overallconfiguration of a form system according to an exemplary embodiment;

FIG. 2 is a block diagram illustrating an example of the hardwareconfiguration of an information processing apparatus according to theexemplary embodiment;

FIG. 3 is a block diagram illustrating an example of the functionalconfiguration of the information processing apparatus according to theexemplary embodiment;

FIG. 4 illustrates an example of transition to each screen according tothe exemplary embodiment;

FIG. 5 illustrates an example of a form discrimination screen accordingto the exemplary embodiment;

FIG. 6 illustrates an example of a check/correction screen according tothe exemplary embodiment;

FIG. 7 illustrates an example of an output check screen according to theexemplary embodiment;

FIG. 8 illustrates an example of a setting check screen according to theexemplary embodiment;

FIG. 9 illustrates an example of a reading setting screen according tothe exemplary embodiment;

FIG. 10 illustrates an example of an output setting screen according tothe exemplary embodiment;

FIG. 11 is a flowchart illustrating an example of a flow of processesfor controlling screen transition according to the exemplary embodiment;

FIG. 12 is a flowchart illustrating an example of a flow of processesfor displaying a screen related to an operational function according tothe exemplary embodiment; and

FIG. 13 is a flowchart illustrating an example of a flow of processesfor displaying a screen related to a setting function according to theexemplary embodiment.

DETAILED DESCRIPTION

An exemplary embodiment of the present disclosure is described below indetail with reference to the drawings. In this exemplary embodiment, anyscreen transitions to a different screen while continuing a series ofprocesses in the same application, but the screen transition method isnot limited thereto. For example, the processes may be continued bypressing a tab on the screen to display different contents on thescreen, or by displaying a smaller screen together with the currentscreen. That is, any screen and the different screen have dependence inthe series of processes in the same application. In other words, thedifferent screen is not a screen independent of the screen related tothe series of processes, such as a screen related to a differentapplication or a screen displayable at any timing independent of theseries of processes. A separate screen refers to a screen independent ofthe screen related to the series of processes, such as a screen relatedto a different application or a screen displayable at any timingindependent of the series of processes.

FIG. 1 illustrates the overall configuration of a form system 10according to this exemplary embodiment. As illustrated in FIG. 1, theform system 10 includes an information processing apparatus 20, a clientterminal 40, and an input apparatus 60. Those apparatuses are connectedto a network (not illustrated) and communicable with each other via thenetwork. Examples of the network include the Internet, a local areanetwork (LAN), and a wide area network (WAN).

The information processing apparatus 20 manages a flow of sequentialprocesses that involve executing optical character recognition (OCR) onimage data of a plurality of documents including forms input via theinput apparatus 60 and outputting OCR results to a preset destination.The image data according to this exemplary embodiment may be any imagedata as long as the image data is related to a document including texts,such as an invoice, an application form, or a receipt. The specificconfiguration and operation of the information processing apparatus 20are described later.

The client terminal 40 transmits various OCR-related instructions to theinformation processing apparatus 20. Examples of the instructionsinclude an instruction to start information reading from image data, andan instruction to display the information read from the image data. Theclient terminal 40 displays various types of information such as resultsand notifications related to the OCR executed by the informationprocessing apparatus 20 in response to the received instructions.Examples of the client terminal 40 include a server computer and ageneral computer such as a personal computer (PC). Although FIG. 1illustrates one client terminal 40, the number of client terminals 40 isnot limited thereto, and a plurality of client terminals 40 may beprepared. For example, the client terminals 40 may be used selectivelyfor individual processes.

The input apparatus 60 inputs image data for OCR to the informationprocessing apparatus 20. Examples of the input apparatus 60 include aserver computer, a general computer such as a PC, and an image formingapparatus having a scanning function, a printing function, and afacsimile function. In addition to the input apparatus 60, the clientterminal 40 may also input image data to the information processingapparatus 20.

Next, an overview of the form system 10 is described. In the form system10, the information processing apparatus 20 executes OCR on image datainput via the input apparatus 60, and outputs OCR results to a presetdestination.

In the OCR, the information processing apparatus 20 manages variousprocesses such as (1) task designing and operation check, (2) datainput, (3) data reading, (4) check and correction on formdiscrimination, (5) check and correction on reading results, (6)application check, (7) data output, and (8) return. In this exemplaryembodiment, the OCR includes a post-process such as correction of textsas well as the process of reading texts and symbols from image data.

As an example of the management of the processes, the informationprocessing apparatus 20 automatically executes (1) task designing andoperation check, (2) data input, (3) data reading, (6) applicationcheck, and (7) data output. As an example of the management of theprocesses, a user inputs instructions via the client terminal 40 toexecute (4) check and correction on form discrimination and (5) checkand correction on reading results. As an example of the management ofthe processes, the information processing apparatus 20 may automaticallyexecute (8) return or the user may input an instruction via the clientterminal 40 to execute (8) return.

In (1) task designing and operation check, job rules including readingdefinition setting, output setting, and application check setting arecreated. In the reading definition setting, for example, an informationreading range on image data is set for “(3) data reading”. Morespecifically, such a definition is set that a value of an item is readfrom a portion on the right of a key item. In the output setting, forexample, a format and a destination of a data file to be output in “(7)data output” are set. In the application check setting, formats of aform to be subjected to “(6) application check”, such as required itemsand the number of inputtable characters, are set. The reading rangeaccording to this exemplary embodiment is an example of “extractionrange”.

In (2) data input, image data input from the input apparatus 60 isreceived. The received image data is registered as a job, which is aunit of execution of “(3) data reading”.

In (3) data reading, information is read from the image data in the jobbased on its job rule selected by the user from among the job rulescreated in “(1) task designing and operation check”. For example, thisprocess involves discrimination of a form indicated by the image data inthe job (hereinafter referred to as “form discrimination”) and readingof texts and symbols in the reading range.

In (4) check and correction on form discrimination, the image data inthe job is split into records indicating the form in the job based on aresult of the form discrimination executed in “(3) data reading”. Inthis process, the records are displayed and user's check and correctionon the form discrimination are accepted.

In (5) check and correction on reading results, results of the readingof the texts and symbols in the reading range in “(3) data reading” aredisplayed and user's check and correction on the reading results areaccepted.

In (6) application check, errors in the preceding processes in the jobare detected based on the application check setting included in the jobrule selected by the user from among the job rules created in “(1) taskdesigning and operation check”. Detection results may be presented tothe user.

In (7) data output, output data in the job is created based on theoutput setting included in the job rule selected by the user from amongthe job rules created in “(1) task designing and operation check”, andthe created output data is output to the preset destination.

In (8) return, any process executed in the OCR is returned to a processat one or more steps earlier. For example, the process is returned inresponse to a user's instruction from the client terminal 40 duringexecution of “(4) check and correction on form discrimination” or “(5)check and correction on reading results”. For example, the process isreturned in response to an administrator's instruction from the clientterminal 40 depending on a result of administrator's check between “(6)application check” and “(7) data output”.

In the OCR, “(1) task designing and operation check” are executed priorto execution of “(3) data reading” and the subsequent processes, thatis, prior to operation of the form system 10. Alternatively, “(1) taskdesigning and operation check” may be executed during the operation ofthe form system 10 that is executing “(3) data reading” and thesubsequent processes. For example, the job rules created in “(1) taskdesigning and operation check” prior to the operation of the form system10 may be revised as appropriate depending on results of “(5) check andcorrection on reading results” in the operating form system 10.

Next, the configuration of the information processing apparatus 20 isdescribed with reference to FIG. 2. FIG. 2 is a block diagramillustrating an example of the hardware configuration of the informationprocessing apparatus 20 according to this exemplary embodiment. Forexample, the information processing apparatus 20 according to thisexemplary embodiment is, but not limited to, a terminal such as apersonal computer or a server. The information processing apparatus 20may be mounted on an image forming apparatus such as a multifunctionperipheral.

As illustrated in FIG. 2, the information processing apparatus 20according to this exemplary embodiment includes a central processingunit (CPU) 21, a read only memory (ROM) 22, a random access memory (RAM)23, a storage 24, an inputter 25, a monitor 26, and a communicationinterface (I/F) 27. The CPU 21, the ROM 22, the RAM 23, the storage 24,the inputter 25, the monitor 26, and the communication I/F 27 areconnected by a bus 28. The CPU 21 is an example of a processor.

The CPU 21 controls the overall information processing apparatus 20. TheROM 22 stores data and various programs including an informationprocessing program according to this exemplary embodiment. The RAM 23serves as a working area during execution of the programs. The CPU 21executes the programs stored in the ROM 22 by loading the programs onthe RAM 23, thereby displaying images and texts. Examples of the storage24 include a hard disk drive (HDD), a solid state drive (SSD), and aflash memory. The storage 24 may store the information processingprogram and the like. Examples of the inputter 25 include a mouse and akeyboard that receive operation of inputting texts and the like. Themonitor 26 displays screens. The communication I/F 27 transmits andreceives data.

Next, the functional configuration of the information processingapparatus 20 is described with reference to FIG. 3. FIG. 3 is a blockdiagram illustrating an example of the functional configuration of theinformation processing apparatus 20 according to this exemplaryembodiment.

As illustrated in FIG. 3, the information processing apparatus 20includes an acquirer 81, a reader 82, a display controller 83, areceiver 84, a memory 85, and an estimator 86 as functional components.The CPU 21 executes the information processing program to function asthe acquirer 81, the reader 82, the display controller 83, the receiver84, the memory 85, and the estimator 86.

The acquirer 81 acquires image data obtained by reading a document.

The reader 82 executes OCR on the acquired image data to acquire resultsof reading of the texts in the image data. The reading results accordingto this exemplary embodiment are obtained by reading the texts in theimage data and extracting the read texts as character codes. The readingresult according to this exemplary embodiment is an example of“extraction result”. The reader 82 according to this exemplaryembodiment acquires the reading results by reading the texts from theimage data based on information that is related to settings on the textreading (hereinafter referred to as “setting information”) and stored inthe memory 85 described later. The setting information according to thisexemplary embodiment is related to reading settings and output settings.The reading settings include a form layout about items in a document andpositions of texts, a text reading range on image data, and dictionariesto determine candidates for identification of read texts as charactercodes. The output settings are about output formats of reading results.

The display controller 83 causes a screen to display the image data andthe reading results (hereinafter referred to as “read data”). Thedisplay controller 83 also displays a screen for changing the settinginformation. The read data according to this exemplary embodimentincludes the image data and the reading results, but is not limitedthereto. The read data may include a job name that is the name of theread data, a date of modification (correction or change), and a date ofregistration in the information processing apparatus 20.

The receiver 84 receives screen display instructions, corrected readdata, and changed setting information. As illustrated in FIG. 4,examples of the screens according to this exemplary embodiment include aform discrimination screen 100, a check/correction screen 120, and anoutput check screen 140 for operational functions, and a setting checkscreen 160, a reading setting screen 180, and an output setting screen200 for setting functions. The operational functions are functions ofchecking and outputting data read from image data. The operationalfunctions correspond to “(4) check and correction on formdiscrimination” and “(5) check and correction on reading results” ofFIG. 1, and the administrator's check between “(6) application check”and “(7) data output”. The setting functions are functions of acceptinga change of the setting information. The setting functions correspond tothe reading definition setting and the output setting in “(1) taskdesigning and operation check” of FIG. 1.

In the example of FIG. 4, the screens related to the operationalfunctions and the setting functions include buttons for transition todifferent screens, and receive instructions for transition to differentscreens, check and correction on read data, and a change of the settinginformation. The buttons for transition to different screens areexamples of “image element”.

Each screen related to the operational function in FIG. 4 includes a“change setting information” button. By pressing the “change settinginformation” button, the screen transitions to the setting check screen160. For example, the form discrimination screen 100 transitions to thesetting check screen 160 by pressing the “change setting information”button. The setting check screen 160 displays currently read data andsetting information related to the read data, and accepts a change ofthe setting information.

The check/correction screen 120 includes a “change reading settings”button. The output check screen 140 includes a “change output settings”button. Depending on contents displayed on each screen related to theoperational function, the screen may transition to a screen that acceptsa change of setting in the setting function. In this exemplaryembodiment, the screen related to the operational function includes thebutton linked to the screen related to the setting function, but is notlimited thereto. The screen related to the operational function maytransition to a corresponding screen related to the setting function inresponse to pressing of the “change setting information” button.

After the change of setting is accepted on each screen related to thesetting function in FIG. 4, the screen may transition to the screenrelated to the operational function. In this case, the screen displaysread data that reflects the changed setting information. The screens aredescribed later in detail with reference to FIG. 5 to FIG. 10.

The memory 85 illustrated in FIG. 3 stores the read data and the settinginformation in association with each other. As the setting information,the memory 85 according to this exemplary embodiment stores informationrelated among items in image data. Examples of the information relatedamong the items include information belonging to the same target, suchas an item “biller name” and an item “biller address”. The textaccording to this exemplary embodiment is a content written inassociation with an item, such as “Minneapolis, Minn.”.

In response to failure in reading of a text from image data, theestimator 86 estimates a dictionary for identifying the text as acharacter code by using an item associated with the text and theinformation related among the items. If the estimated dictionary differsfrom a dictionary related to the item set in the setting information,the estimator 86 presents the estimated dictionary as a candidate toprompt the user to change the dictionary. For example, in response tofailure in reading of a text “Minneapolis, Minn.”, the estimator 86estimates a dictionary by using the item “biller address” associatedwith the text and the setting information that is set for “biller name”related to the item.

The estimator 86 estimates a range covering each text in image data byusing the text in read data. If the estimated text range is larger thana reading range set in the setting information, the estimator 86presents the estimated text range as a candidate for a text range to bechanged.

The estimator 86 may be a learner that executes machine learning forestimating the dictionary and the text range. For example, the estimator86 may be a learner that has learned dictionaries for identifying textsbased on input items and information related to the items. In this case,the estimator 86 may receive an item of an unreadable text andinformation related to the item, and estimate a dictionary foridentifying the text related to the item. Further, the estimator 86 maybe a learner that has learned text ranges based on input texts. In thiscase, the estimator 86 may receive a text read from image data, andestimate a range of the text.

Next, the display screens according to this exemplary embodiment aredescribed with reference to FIG. 5 to FIG. 10 prior to description ofthe operation of the information processing apparatus 20. First, thescreens related to the operational functions are described withreference to FIG. 5 to FIG. 7. FIG. 5 illustrates an example of the formdiscrimination screen according to this exemplary embodiment.

As illustrated in FIG. 5, the form discrimination screen 100 includes adiscriminated image display field 101, a “check/correct” button 102, anda “change setting information” button 103. In the discriminated imagedisplay field 101, pieces of image data obtained by using form layoutsettings in the setting information are displayed while beingcategorized by documents. The “check/correct” button 102 is used fortransmitting an instruction for transition to the check/correctionscreen 120. The “change setting information” button 103 is used fortransmitting an instruction for transition to the setting check screen160.

For example, the form discrimination screen 100 transitions to thecheck/correction screen 120 when the user checks how the documentsdisplayed in the discriminated image display field 101 are categorizedand presses the “check/correct” button 102. If the user having checkedhow the documents are categorized wants to change the form layout, theuser presses the “change setting information” button 103 and the formdiscrimination screen 100 transitions to the setting check screen 160 tochange the form layout setting.

Next, the check/correction screen 120 is described with reference toFIG. 6. FIG. 6 illustrates an example of the check/correction screenaccording to this exemplary embodiment.

As illustrated in FIG. 6, the check/correction screen 120 includes animage display field 121, a reading result display field 122, a“discriminate form” button 123, a “check output” button 124, a “changesetting information” button 125, and a “change reading settings” button126. The image display field 121 shows image data in read data. Thereading result display field 122 shows reading results related to theread data. The “discriminate form” button 123 is used for transmittingan instruction for transition to the form discrimination screen 100. The“check output” button 124 is used for transmitting an instruction fortransition to the output check screen 140. The “change settinginformation” button 125 is used for transmitting an instruction fortransition to the setting check screen 160. The “change readingsettings” button 126 is used for transmitting an instruction fortransition to the reading setting screen 180.

For example, the check/correction screen 120 transitions to the outputcheck screen 140 by pressing the “check output” button 124, and to theform discrimination screen 100 by pressing the “discriminate form”button 123. If the user wants to change the form layout setting, theuser presses the “change setting information” button 125 and thecheck/correction screen 120 transitions to the setting check screen 160.If the user wants to change the setting for reading texts from imagedata, the user presses the “change reading settings” button 126 and thecheck/correction screen 120 transitions to the reading setting screen180.

If a text range estimated from a text read from image data is largerthan the reading range set in the setting information, thecheck/correction screen 120 displays a message 127 that prompts the userto change the setting information. In other words, if inadequacy isdetected in the text range set in the setting information, thecheck/correction screen 120 notifies the user about the change of thesetting information.

Next, the output check screen 140 is described with reference to FIG. 7.FIG. 7 illustrates an example of the output check screen 140 accordingto this exemplary embodiment.

As illustrated in FIG. 7, the output check screen 140 includes an outputitem display field 141, a “check/correct” button 142, a “change settinginformation” button 143, a “change output settings” button 144, and an“output” button 145. The output item display field 141 shows readingresults for respective items related to read data. The “check/correct”button 142 is used for transmitting an instruction for transition to thecheck/correction screen 120. The “change setting information” button 143is used for transmitting an instruction for transition to the settingcheck screen 160. The “change output settings” button 144 is used fortransmitting an instruction for transition to the output setting screen200. The “output” button 145 is used for transmitting an instruction tooutput reading results and terminate the screen display process.

For example, the reading results displayed on the output check screen140 are output when the user checks the output item display field 141and presses the “output” button 145. If the user having checked theoutput item display field 141 wants to change the settings for outputitems and the order of the items to be output, the user presses the“change output settings” button 144 and the output check screen 140transitions to the output setting screen 200.

Next, the screens related to the setting functions are described withreference to FIG. 8 to FIG. 10. FIG. 8 illustrates an example of thesetting check screen 160 according to this exemplary embodiment.

As illustrated in FIG. 8, the setting check screen 160 includes an imagedisplay field 161, a read data display field 162, “change form layout”buttons 163, and a “change reading settings” button 164. The settingcheck screen 160 further includes an “execute OCR” button 165, a“discriminate form” button 166, a “check/correct” button 167, and a“check output” button 168. The image display field 161 shows image datain read data. For example, the read data display field 162 shows a jobname and a registration date related to the read data. The “change formlayout” button 163 is used for accepting a change of a form layout setto read image data in read data. The “change reading settings” button164 is used for transmitting an instruction for transition to thereading setting screen 180. The “execute OCR” button 165 is used fortransmitting instructions for re-execution of OCR and transition to theform discrimination screen 100. The “discriminate form” button 166 isused for transmitting an instruction for transition to the formdiscrimination screen 100. The “check/correct” button 167 is used fortransmitting an instruction for transition to the check/correctionscreen 120. The “check output” button 168 is used for transmitting aninstruction for transition to the output check screen 140.

For example, if a document is not properly categorized on the formdiscrimination screen 100, the form discrimination screen 100transitions to the setting check screen 160 illustrated in FIG. 8. Thesetting check screen 160 accepts a change of the form layout setting forcategorizing a document related to image data. Specifically, the changeis accepted by pressing the “change form layout” button 163 illustratedin FIG. 8 and selecting a form layout related to the image data.

By pressing the “execute OCR” button 165, the “discriminate form” button166, the “check/correct” button 167, or the “check output” button 168,the setting check screen 160 transitions to the screen related to theoperational function with the read data that reflects the change of thesetting information. For example, if a form layout is changed, the“execute OCR” button 165 is pressed to execute OCR that reflects thechange of the form layout and the setting check screen 160 transitionsto the form discrimination screen 100.

If the reading range setting described later or other setting that doesnot require re-execution of OCR is changed, read data that reflects thechanged setting may be displayed on each screen by pressing the“discriminate form” button 166, the “check/correct” button 167, or the“check output” button 168.

Next, the reading setting screen 180 is described with reference to FIG.9. FIG. 9 illustrates an example of the reading setting screen 180according to this exemplary embodiment.

As illustrated in FIG. 9, the reading setting screen 180 includes animage display field 181, a reading result display field 182, and a“check settings” button 183. The image display field 181 shows imagedata in read data. The reading result display field 182 shows readingresults related to the read data for respective items. The “checksettings” button 183 is used for transmitting instructions for storageof a changed setting and transition to the setting check screen 160.

For example, the user checks pre-changed reading ranges 184 displayed inthe image display field 181 and the reading results displayed in thereading result display field 182 for the respective items, and thereading setting screen 180 accepts a change of any reading range.Specifically, the user uses the mouse to drag any pre-changed readingrange 184 and drop the reading range 184 at an appropriate point,thereby changing the reading range.

If a text range estimated by using a read text is larger than thereading range set in the setting information, the reading setting screen180 displays the estimated text range in the image display field 181 asa reading range candidate 185.

In response to a change of the reading range, the reading setting screen180 displays, in the reading result display field 182, the read textacquired in the changed reading range.

If the read text is not identified as a character code, the readingsetting screen 180 displays information indicating that the text is notread properly. If a text reading dictionary estimated by usinginformation in an item different from and related to an item of theunreadable text differs from a dictionary related to the item set in thesetting information, the reading setting screen 180 displays theestimated dictionary as a candidate. For example, the reading settingscreen 180 displays a message 186 for notifying the user about thefailure in the text reading and about the dictionary candidate. Thereading range candidate 185 and the dictionary candidate notificationmessage 186 are examples of “proposal for change of settinginformation”.

In response to a change of the set dictionary displayed in the readingresult display field 182, the information processing apparatus 20acquires the read text by using the changed dictionary, and causes thereading setting screen 180 to display the text in the reading resultdisplay field 182.

If the user has completed a change of setting, the reading settingscreen 180 transitions to the setting check screen 160 by pressing the“check settings” button 183, and read data that reflects the changedsetting is displayed by pressing a button for transition to a screenrelated to any operational function.

The reading setting screen 180 according to this exemplary embodimentaccepts the change of a reading range or a dictionary, but is notlimited thereto. The reading setting screen 180 may accept a change ofother settings. For example, the reading setting screen 180 may accept achange of a display format of a read text or a change of a positionalrelationship between a reading reference item (key) and a correspondingreading result (value).

Next, the output setting screen 200 is described with reference to FIG.10. FIG. 10 illustrates an example of the output setting screen 200according to this exemplary embodiment.

As illustrated in FIG. 10, the output setting screen 200 includes anoutput setting display field 201, an output item display field 202, anda “check output” button 203. The output setting display field 201 showsoutput settings related to read data. The output item display field 202shows output items and reading results associated with the items. The“check output” button 203 is used for transmitting an instruction fortransition to the output check screen 140.

The output setting screen 200 accepts a change of setting for “filename”, “character code”, “header”, or “output format” in the outputsetting display field 201. The output setting screen 200 also accepts achange of the order of the items to be output by pressing an itemmovement icon 204 displayed in the output item display field 202, andaccepts addition of an output item by pressing an item addition icon205.

When the user changes any output setting, the output setting screen 200displays reading results related to read data in the output item displayfield 202 to prompt the user to check correspondence between the itemsand the read texts, thereby accepting the change of the output setting.

If the user has completed a change of setting, the output setting screen200 transitions to the output check screen 140 by pressing the “checkoutput” button 203. The user may confirm that the changed setting isreflected in the output check screen 140, and output the readingresults.

In this exemplary embodiment, the setting is changed and reflectedbefore the output, but the setting change is not limited thereto. Afterthe output, each setting may be changed by referring to an outputresult. In this case, after the “output” button 145 on the output checkscreen 140 of FIG. 7 is pressed, the information processing apparatus 20displays the output result and information for inquiring of the userwhether to change the setting.

Next, the operation of the information processing apparatus 20 accordingto this exemplary embodiment is described with reference to FIG. 11 toFIG. 13. FIG. 11 is a flowchart illustrating an example of a flow ofprocesses for controlling screen transition according to this exemplaryembodiment. The CPU 21 reads and executes the information processingprogram in the ROM 22 or the storage 24 to execute the processesillustrated in FIG. 11. The processes illustrated in FIG. 11 areexecuted in response to an instruction to display read data.

In Step S101, the CPU 21 acquires selected read data.

In Step S102, the CPU 21 displays the form discrimination screen 100.

In Step S103, the CPU 21 determines whether any button is pressed. Ifany button is pressed (Step S103: YES), the CPU 21 proceeds to StepS104. If no button is pressed (Step S103: NO), the CPU 21 waits untilany button is pressed.

In Step S104, the CPU 21 determines whether a button for transmitting aninstruction for transition to a screen related to any operationalfunction (form discrimination screen 100, check/correction screen 120,or output check screen 140) is pressed to display the screen. If thescreen related to the operational function is displayed (Step S104:YES), the CPU 21 proceeds to Step S105. If the screen related to theoperational function is not displayed (Step S104: NO), the CPU 21proceeds to Step S106.

In Step S105, the CPU 21 executes a process for displaying the screenrelated to the operational function. The process for displaying thescreen related to the operational function is described later in detailwith reference to FIG. 12.

In Step S106, the CPU 21 determines whether a button for transmitting aninstruction for transition to a screen related to any setting function(setting check screen 160, reading setting screen 180, or output settingscreen 200) is pressed to display the screen. If the screen related tothe setting function is displayed (Step S106: YES), the CPU 21 proceedsto Step S107. If the screen related to the setting function is notdisplayed (Step S106: NO), the CPU 21 proceeds to Step S108.

In Step S107, the CPU 21 executes a process for displaying the screenrelated to the setting function. The process for displaying the screenrelated to the setting function is described later in detail withreference to FIG. 13.

In Step S108, the CPU 21 determines whether the “output” button ispressed to finish the processes for controlling the screen transition.If the processes for controlling the screen transition are finished(Step S108: YES), the CPU 21 finishes the processes. If the processesfor controlling the screen transition are not finished (Step S108: NO),the CPU 21 proceeds to Step S103.

Next, the process for displaying the screen related to the operationalfunction is described with reference to FIG. 12. FIG. 12 is a flowchartillustrating an example of a flow of processes for displaying the screenrelated to the operational function according to this exemplaryembodiment. The CPU 21 reads and executes a program for displaying thescreen related to the operational function in the ROM 22 or the storage24 to execute the process for displaying the screen related to theoperational function in FIG. 12. The process for displaying the screenrelated to the operational function in FIG. 12 is executed in responseto pressing of the “discriminate form” button, the “check/correct”button, the “check output” button, or the “execute OCR” button.

In Step S201, the CPU 21 acquires setting information related toselected read data.

In Step S202, the CPU 21 determines whether the “discriminate form”button is pressed. If the “discriminate form” button is pressed (StepS202: YES), the CPU 21 proceeds to Step S203. If the “discriminate form”button is not pressed (Step S202: NO), the CPU 21 proceeds to Step S204.

In Step S203, the CPU 21 displays the form discrimination screen 100 byusing the acquired setting information.

In Step S204, the CPU 21 determines whether the “execute OCR” button ispressed. If the “execute OCR” button is pressed (Step S204: YES), theCPU 21 proceeds to Step S205. If the “execute OCR” button is not pressed(Step S204: NO), the CPU 21 proceeds to Step S206.

In Step S205, the CPU 21 acquires read data by re-executing OCR.

In Step S206, the CPU 21 determines whether the “check/correct” buttonis pressed. If the “check/correct” button is pressed (Step S206: YES),the CPU 21 proceeds to Step S207. If the “check/correct” button is notpressed (Step S206: NO), the CPU 21 proceeds to Step S211.

In Step S207, the CPU 21 displays the check/correction screen 120 byusing the acquired setting information.

In Step S208, the CPU 21 estimates a text range related to the readdata.

In Step S209, the CPU 21 determines whether the estimated text range islarger than a text reading range set in the setting information. If theestimated text range is larger than the text reading range set in thesetting information (Step S209: YES), the CPU 21 proceeds to Step S210.If the estimated text range is not larger than the text reading rangeset in the setting information (Step S209: NO), the CPU 21 finishes theprocess for displaying the screen related to the operational function.

In Step S210, the CPU 21 displays a report that the estimated text rangeis larger than the text reading range set in the setting information.

In Step S211, the CPU 21 displays the output check screen 140 by usingthe acquired setting information.

Next, the process for displaying the screen related to the settingfunction is described with reference to FIG. 13. FIG. 13 is a flowchartillustrating an example of a flow of processes for displaying the screenrelated to the setting function according to this exemplary embodiment.The CPU 21 reads and executes a program for displaying the screenrelated to the setting function in the ROM 22 or the storage 24 toexecute the process for displaying the screen related to the settingfunction in FIG. 13. The process for displaying the screen related tothe setting function in FIG. 13 is executed in response to pressing ofthe “change setting information” button, the “change reading settings”button, the “change output settings” button, or the “check settings”button.

In Step S301, the CPU 21 acquires setting information related toselected read data.

In Step S302, the CPU 21 determines whether the “change settinginformation” button is pressed. If the “change setting information”button is pressed (Step S302: YES), the CPU 21 proceeds to Step S303. Ifthe “change setting information” button is not pressed (Step S302: NO),the CPU 21 proceeds to Step S304.

In Step S303, the CPU 21 displays the setting check screen 160 by usingthe setting information and the read data.

In Step S304, the CPU 21 determines whether the “check settings” buttonis pressed. If the “check settings” button is pressed (Step S304: YES),the CPU 21 proceeds to Step S303. If the “check settings” button is notpressed (Step S304: NO), the CPU 21 proceeds to Step S305.

In Step S305, the CPU 21 determines whether the “change readingsettings” button is pressed. If the “change reading settings” button ispressed (Step S305: YES), the CPU 21 proceeds to Step S306. If the“change reading settings” button is not pressed (Step S305: NO), the CPU21 proceeds to Step S314.

In Step S306, the CPU 21 displays the reading setting screen 180 byusing the setting information and the read data.

In Step S307, the CPU 21 estimates a range of a read text related to theread data.

In Step S308, the CPU 21 determines whether the estimated text range islarger than a text reading range set in the setting information. If theestimated text range is larger than the text reading range set in thesetting information (Step S308: YES), the CPU 21 proceeds to Step S309.If the estimated text range is not larger than the text reading rangeset in the setting information (Step S308: NO), the CPU 21 proceeds toStep S310.

In Step S309, the CPU 21 displays the estimated text range as a readingrange candidate.

In Step S310, the CPU 21 determines whether there is an item whose textis unreadable from image data. If there is an item whose text isunreadable from the image data (Step S310: YES), the CPU 21 proceeds toStep S311. If there is no item whose text is unreadable from the imagedata (texts of all the items are read) (Step S310: NO), the CPU 21proceeds to Step S315.

In Step S311, the CPU 21 estimates a dictionary for identifying the textfrom the image data by using information related to the item of theunreadable text.

In Step S312, the CPU 21 determines whether the estimated dictionarydiffers from a dictionary set in the setting information. If theestimated dictionary differs from the dictionary set in the settinginformation (Step S312: YES), the CPU 21 proceeds to Step S313. If theestimated dictionary does not differ from the dictionary set in thesetting information (the estimated dictionary is identical to thedictionary set in the setting information) (Step S312: NO), the CPU 21proceeds to Step S315.

In Step S313, the CPU 21 displays the estimated dictionary as acandidate for the dictionary to be changed.

In Step S314, the CPU 21 displays the output setting screen 200 by usingthe setting information and the read data.

In Step S315, the CPU 21 stores the setting information input to eachscreen related to the setting function.

In this exemplary embodiment, the buttons for transition to differentscreens are displayed and the current screen transitions to anydifferent screen in response to pressing of the corresponding button.The screen transition is not limited thereto. The screen may transitionto the different screen by pressing a predetermined key on the keyboardor by a predetermined operation. For example, the screens related to theoperational functions may transition to each other by pressing “→” and“←” keys on the keyboard on a screen related to any operationalfunction, and the screen related to the operational function and thescreen related to the setting function may transition to each other bypressing “↑” and “↓” keys on the keyboard. For example, in a case wherea touch panel is used, the transition to the different screen and thechange of the setting information may be accepted by a predeterminedgesture such as tapping with three fingers or vertical sliding with fourfingers. Thus, the instructions for the change of the settinginformation and the transition to the different screen may be acceptedby any operation.

In this exemplary embodiment, the change of the dictionary is displayedon the reading setting screen 180 related to the setting function, butthe display method is not limited thereto. The change of the dictionarymay be displayed on each screen related to the operational function. Forexample, the change of the dictionary may be displayed on thecheck/correction screen 120 or the output check screen 140.

In the embodiments above, the term “processor” refers to hardware in abroad sense. Examples of the processor include general processors (e.g.,CPU: Central Processing Unit) and dedicated processors (e.g., GPU:Graphics Processing Unit, ASIC: Application Specific Integrated Circuit,FPGA: Field Programmable Gate Array, and programmable logic device).

In the embodiments above, the term “processor” is broad enough toencompass one processor or plural processors in collaboration which arelocated physically apart from each other but may work cooperatively. Theorder of operations of the processor is not limited to one described inthe embodiments above, and may be changed.

In this exemplary embodiment, the information processing program isinstalled in the storage, but the method for providing the informationprocessing program is not limited thereto. The information processingprogram according to this exemplary embodiment may be provided by beingrecorded in a computer readable storage medium. For example, theinformation processing program according to this exemplary embodimentmay be provided by being recorded in a compact disc (CD)-ROM, a digitalversatile disc (DVD)-ROM, or other optical discs. The informationprocessing program according to this exemplary embodiment may beprovided by being recorded in a universal serial bus (USB) memory, amemory card, or other semiconductor memories. The information processingprogram according to this exemplary embodiment may be acquired from anexternal apparatus via a communication network connected to thecommunication I/F.

The foregoing description of the exemplary embodiments of the presentdisclosure has been provided for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit thedisclosure to the precise forms disclosed. Obviously, many modificationsand variations will be apparent to practitioners skilled in the art. Theembodiments were chosen and described in order to best explain theprinciples of the disclosure and its practical applications, therebyenabling others skilled in the art to understand the disclosure forvarious embodiments and with the various modifications as are suited tothe particular use contemplated. It is intended that the scope of thedisclosure be defined by the following claims and their equivalents.

What is claimed is:
 1. An information processing apparatus comprising: aprocessor configured to: acquire, by using setting information forextraction of texts from an image, an extraction result by extractingtexts from a target image obtained by reading a document, or an outputresult to be output to an outside based on the extraction result;display the extraction result or the output result together with a firstscreen configured to receive an instruction to change the settinginformation; and in response to reception of the instruction, display asecond screen configured to accept a change of the setting informationrelated to the target image.
 2. The information processing apparatusaccording to claim 1, wherein the processor is configured to, inresponse to acceptance of the change of the setting information on thesecond screen, display the extraction result or the output result on thefirst screen by using the changed setting information.
 3. Theinformation processing apparatus according to claim 1, wherein theprocessor is configured to cause the second screen to display the targetimage and the setting information related to the target image to acceptthe change of the setting information.
 4. The information processingapparatus according to claim 2, wherein the processor is configured tocause the second screen to display the target image and the settinginformation related to the target image to accept the change of thesetting information.
 5. The information processing apparatus accordingto claim 1, wherein the processor is configured to display the secondscreen in response to selection of an image element on the first screenfor the instruction.
 6. The information processing apparatus accordingto claim 2, wherein the processor is configured to display the secondscreen in response to selection of an image element on the first screenfor the instruction.
 7. The information processing apparatus accordingto claim 3, wherein the processor is configured to display the secondscreen in response to selection of an image element on the first screenfor the instruction.
 8. The information processing apparatus accordingto claim 4, wherein the processor is configured to display the secondscreen in response to selection of an image element on the first screenfor the instruction.
 9. The information processing apparatus accordingto claim 5, wherein the first screen comprises a plurality of firstscreens related to operation, wherein the second screen comprises aplurality of second screens related to setting, wherein the plurality offirst screens are associated with the plurality of second screens,respectively, and wherein the processor is configured to, in response toselection of the image element on any one of the first screens, displayany one of the second screens associated with the selected first screen.10. The information processing apparatus according to claim 6, whereinthe first screen comprises a plurality of first screens related tooperation, wherein the second screen comprises a plurality of secondscreens related to setting, wherein the plurality of first screens areassociated with the plurality of second screens, respectively, andwherein the processor is configured to, in response to selection of theimage element on any one of the first screens, display any one of thesecond screens associated with the selected first screen.
 11. Theinformation processing apparatus according to claim 7, wherein the firstscreen comprises a plurality of first screens related to operation,wherein the second screen comprises a plurality of second screensrelated to setting, wherein the plurality of first screens areassociated with the plurality of second screens, respectively, andwherein the processor is configured to, in response to selection of theimage element on any one of the first screens, display any one of thesecond screens associated with the selected first screen.
 12. Theinformation processing apparatus according to claim 8, wherein the firstscreen comprises a plurality of first screens related to operation,wherein the second screen comprises a plurality of second screensrelated to setting, wherein the plurality of first screens areassociated with the plurality of second screens, respectively, andwherein the processor is configured to, in response to selection of theimage element on any one of the first screens, display any one of thesecond screens associated with the selected first screen.
 13. Theinformation processing apparatus according to claim 1, wherein thesetting information includes information related to a text extractionrange, and wherein the processor is configured to, if a text range inthe target image is larger than the text extraction range, cause thefirst screen to display a prompt to change the setting information. 14.The information processing apparatus according to claim 2, wherein thesetting information includes information related to a text extractionrange, and wherein the processor is configured to, if a text range inthe target image is larger than the text extraction range, cause thefirst screen to display a prompt to change the setting information. 15.The information processing apparatus according to claim 3, wherein thesetting information includes information related to a text extractionrange, and wherein the processor is configured to, if a text range inthe target image is larger than the text extraction range, cause thefirst screen to display a prompt to change the setting information. 16.The information processing apparatus according to claim 4, wherein thesetting information includes information related to a text extractionrange, and wherein the processor is configured to, if a text range inthe target image is larger than the text extraction range, cause thefirst screen to display a prompt to change the setting information. 17.The information processing apparatus according to claim 1, wherein theprocessor is configured to display a proposal for the change of thesetting information.
 18. The information processing apparatus accordingto claim 17, wherein the processor is configured to, when changing atext extraction range in the setting information, cause the secondscreen to display a range covering a text in the target image.
 19. Theinformation processing apparatus according to claim 17, wherein thetarget image includes a plurality of related texts, wherein the settinginformation includes information related to dictionaries for identifyingtexts, and wherein the processor is configured to: if a first relatedtext among the plurality of related texts is not identified, estimate adictionary for identifying the first related text by using an extractionresult of a second related text; and cause the second screen to displaythe estimated dictionary.
 20. A non-transitory computer readable mediumstoring an information processing program causing a computer to executea process comprising: acquiring, by using setting information forextraction of texts from an image, an extraction result by extractingtexts from a target image obtained by reading a document, or an outputresult to be output to an outside based on the extraction result;displaying the extraction result or the output result together with afirst screen configured to receive an instruction to change the settinginformation; and displaying, in response to reception of theinstruction, a second screen configured to accept a change of thesetting information related to the target image.